<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <!-- 引入react核心库 -->
  <script src="../js/react.development.js"></script>
  <!-- 引入react-dom,用于支持react操作DOM -->
  <script src="../js/react-dom.development.js"></script>
  <!-- 引入babel,用于将jsx转换为js -->
  <script src="../js/babel.min.js"></script>

  <body>
    <!-- 容器 -->
    <div id="app"></div>
  </body>

  <script type="text/babel">
    class MyComponent extends React.Component {
      /* 
      1.通过onXxx属性指定事件处理函数（主要大小写）
        a.React使用的是自定义（合成）事件，而不是原生DOM事件---为了更好的兼容性
        b.React中的事件是通过事件委托方式处理---为了高效

      2.通过event.target.value得到发生事件的DOM元素对象
      */

      myRef = React.createRef();

      showData = () => {
        console.log(this.myRef);
        alert(this.myRef.current.value);
      };

      render() {
        return (
          <div>
            <input
              type="text"
              ref={this.myRef}
              placeholder="点击按钮提示数据"
            />
            &nbsp;
            <button ref="button" onClick={this.showData}>
              点我提示左侧数据
            </button>
          </div>
        );
      }
    }

    ReactDOM.render(<MyComponent />, document.getElementById("app"));
  </script>
</html>
